from flask import Flask, jsonify
from flask_socketio import SocketIO, emit
from flask_cors import CORS



app = Flask(__name__)
socketio = SocketIO(app, cors_allowed_origins="*")

# 假设这里是你的数据处理函数，可能需要一些时间来完成
def process_data():
    for i in range(10):
        # 模拟处理进度
        progress = (i + 1) * 10
        socketio.emit('progress', {'progress': progress}, namespace='/data')
        socketio.sleep(1)
    # 数据处理完成，发送处理完成的 JSON 数据给前端
    data = {"result": "processed_data"}
    socketio.emit('data_ready', data, namespace='/data')


@socketio.on('connect', namespace='/data')
def handle_connect():
    # 当客户端连接时开始数据处理
    socketio.start_background_task(process_data)

if __name__ == '__main__':
    socketio.run(app, host='127.0.0.1', port=8090)

